package com.test.bean;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.FactoryBean;

/**
 * @author lzy
 * @version v1.0
 * Create DateTime: 2018/11/27 19:23
 * <p>
 * 创建一个Spring定义的工厂类
 */
@Slf4j
public class ColorFactoryBean implements FactoryBean<Color> {

    //返回一个Color对象，这个对象会添加到容器中
    @Override
    public Color getObject() throws Exception {
        log.info("getObject from factory...");
        return new Color();
    }

    @Override
    public Class<?> getObjectType() {
        return Color.class;
    }

    /**
     * 是否是单例，如果是true，则这个bean是单实例，在容器中只保留一份
     * 如果是false：则表示是多实例，每次获取都会创建一个新的实例
     *
     * @return
     */
    @Override
    public boolean isSingleton() {
        return false;
    }
}
